<!DOCTYPE html>
<!--
     SPDX-License-Identifier: CC-BY-SA-4.0
     SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC.
-->
<!-- Page last generated 2025-02-20 03:16:15 +0000 -->
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Contributing | seL4 docs</title>

    <!-- Our stylesheet and theme stylesheet.  Contains bootstrap. -->
    <link rel="stylesheet" href="/assets/css/style.css" type="text/css">
    <!-- Font awesome -->
    <link href="https://use.fontawesome.com/releases/v5.0.8/css/all.css" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet">
    <!-- Pygments syntax highlighting  -->
    <link rel="stylesheet" href="/assets/css/highlighting/trac.css" type="text/css">
    <link rel="icon" type="image/x-icon" href="/assets/favicon.ico"><script defer data-domain="docs.sel4.systems"
	    src="https://analytics.sel4.systems/js/script.js"></script></head>

  <body class="container-fluid">

    



<header>
  <ul class="row menu">
    <li class="col-xs-12 col-md-2" >
            <a href="https://sel4.systems" class="skip-icon">
              <img class="img-responsive" src="/assets/logo-text-white.svg" alt="seL4 logo" />
            </a>
    </li>
    <li class="col-xs-12 col-md-10 menu">
      <nav aria-label="Banner links">
        <h2><a href="/Resources" />Resources</h2>
        <h2><a href="/processes" />Contributing</a></h2>
        <h2><a href="/projects" />Projects</h2>
        <h2><a href="/Tutorials" />Tutorials</h2>
        <iframe title="DuckDuckGo search bar" src="https://duckduckgo.com/search.html?site=docs.sel4.systems&prefill=Search%20sel4.systems" style="overflow:hidden;margin-bottom:10px; padding:0;height:40px;float:right;border-width: 0px"></iframe>
      </nav>
    </li>
  </ul>
  <div class="clear"></div>
  
<div class="breadcrumbs bootstrap hidden-sm-down">
  <nav class="sel-breadcrumb" aria-label="Breadcrumb" >
    <ol class=" list-unstyled" vocab="http://schema.org/" typeof="BreadcrumbList">
      
      
        

        

        <li class="breadcrumb-item" property="itemListElement" typeof="ListItem">
            <a property="item" typeof="WebPage" href="/">
              <span property="name"><b>seL4 Docs</b></span>
            </a>
            <meta property="position" content="1" />
        </li>
      
        

        

        <li class="breadcrumb-item" property="itemListElement" typeof="ListItem">
            <a property="item" typeof="WebPage" href="/processes/">
              <span property="name"><b>Processes</b></span>
            </a>
            <meta property="position" content="2" />
        </li>
      
        

        
          <li class="breadcrumb-item" property="itemListElement" typeof="ListItem">
            <span property="name">Contributing</span>
            <meta property="position" content="3" /></li>
          
    </ol>
  </nav>
  <nav class="sel-version" aria-label="Current Versions">
    <ol class="list-unstyled">
      <li class="list-unstyled text-right" style="margin-left:auto; padding:0rem 0rem;">
        Current versions:</li>
      <li class="list-unstyled text-right">
      <a href="/releases/sel4/13.0.0"><b>seL4-13.0.0</b></a></li>
      <li class="list-unstyled text-right">
      <a href="/releases/microkit/1.4.1"><b>microkit-1.4.1</b></a></li>
      <li class="list-unstyled text-right">
      <a href="/releases/camkes/camkes-3.11.0"><b>camkes-3.11.0</b></a></li>
      <li class="list-unstyled text-right">
      <a href="/releases/capdl/0.3.0"><b>capDL-0.3.0</b></a></li>
      </ol>
  </nav>
  <div class='clear'></div>
</div>


</header>

    <main>
      <div class="row">
  <div class="hidden-xs col-sm-4 col-md-3 col-lg-2">
    


<div class="sidebar">






      <ul class="nav nav-sidebar">
  
        <li class="">
          <a class="" href="/processes/conduct.html">
            Code of Conduct
          </a>
        </li>
  
        <li class="active">
          <a class="" href="/processes/contributing.html">
            Contributing
          </a>
        </li>
  
        <li class="">
          <a class="" href="/processes/licenses.html">
            Licensing
          </a>
        </li>
  
        <li class="">
          <a class="" href="/processes/style-guide.html">
            Style Guide
          </a>
        </li>
  
        <li class="">
          <a class="" href="/processes/git-conventions.html">
            Git Conventions
          </a>
        </li>
  
        <li class="">
          <a class="" href="/processes/code-review.html">
            Pull requests
          </a>
        </li>
  
        <li class="">
          <a class="" href="/processes/release-process.html">
            Release process
          </a>
        </li>
  
        <li class="">
          <a class="" href="/processes/rfc-process.html">
            RFC process
          </a>
        </li>
  
        <li class="">
          <a class="" href="/processes/test-status.html">
            Test Status
          </a>
        </li>
  
        <li class="">
          <a class="" href="/processes/websites.html">
            Websites
          </a>
        </li>
  
        <li class="">
          <a class="" href="/processes/emails.html">
            Emails
          </a>
        </li>
  
        <li class="">
          <a class="" href="/MaintainedRepositories.html">
            Maintained Repositories
          </a>
        </li>
  
      </ul>











</div>

  </div>
  <div class="col-sm-8 col-md-9 col-lg-8 main">
    
    <div class="content">
      <h1 id="contributing">Contributing</h1>

<p>We welcome contributions to the seL4 project sources. For contributions to this documentation site,
please see <a href="/DocsContributing">our docs contribution guidelines</a>.</p>

<h2 id="conventions">Conventions</h2>

<p>Please read and abide by the following conventions when contributing:</p>

<ul>
  <li><a href="/StyleGuide">Style Guide</a></li>
  <li><a href="/GitConventions">Git Conventions</a></li>
  <li><a href="/Conduct">Code of Conduct</a></li>
  <li><a href="/CodeReview">Pull requests</a></li>
</ul>

<h2 id="large-contributions">Large contributions</h2>

<p>If you would like to make significant changes to the seL4 kernel, or any of its libraries, consider making an <a href="rfc-process">RFC</a>. This will allow seL4 developers and the wider community to comment and approve of your design.</p>

<h2 id="developer-certificate-of-origin-dco">Developer Certificate of Origin (DCO)</h2>

<p>The seL4 Foundation uses the same sign-off process as the Linux kernel. For
every commit, use</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git commit -s
</code></pre></div></div>

<p>to add a sign-off line to your commit message, which should come out as:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Signed-off-by: name &lt;email&gt;
</code></pre></div></div>

<p>By adding this line, you make the declaration that you have the right to make
this contribution under the open source license the files use that you changed
or contributed.</p>

<p>The full text of the declaration is at <a href="https://developercertificate.org">https://developercertificate.org</a>.</p>

<p>The relevant github repositories are configured to only accept pull requests
where all commits are signed off. There are no other signatures or legal
documents required.</p>

<p>Some tips on using signed-off-by with git:</p>

<ul>
  <li>signed-off-by is different from signing commits with a GPG key (commit -S)</li>
  <li>you can use <code class="language-plaintext highlighter-rouge">git commit --amend -s</code> to sign off a single existing commit if you’ve forgotten</li>
  <li>you can use <code class="language-plaintext highlighter-rouge">git rebase --signoff &lt;base-branch&gt; </code>for signing off multiple commits on a whole branch</li>
  <li>the DCO allows you to sign off commits for others – see <a href="https://developercertificate.org">https://developercertificate.org</a> for details</li>
  <li>
    <p>you can add an alias for sign-off to your git config, so you don’t have to think about it. For instance:</p>

    <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>    git config alias.ci “commit -s"
</code></pre></div>    </div>

    <p>now <code class="language-plaintext highlighter-rouge">git ci</code> will commit with sign-off. The config command above is local
for the current repository.</p>
  </li>
</ul>

<h2 id="review-and-testing-process">Review and Testing Process</h2>

<p><img src="contributing.png" alt="Pull requests undergo code review before being accepted" /></p>

<p>The diagram illustrates the pull request review and testing process. For most
of the repositories on <a href="https://github.com/seL4">https://github.com/seL4</a> and
<a href="https://github.com/seL4proj">https://github.com/seL4proj</a>, additional tests, quality checks, and where
applicable the formal proofs can be run by people with at least the <a href="https://docs.sel4.systems/processes/roles.html">Reviewer</a>
role at the seL4 Foundation. Anyone can help review pull requests.</p>

<p>See also the pages on <a href="code-review">Pull Requests</a> and <a href="/SuggestedProjects">Suggested
Projects</a> for suggestions on where to contribute.</p>


    </div>
  </div>
</div>

    </main>
    


<footer class="site-footer">

  <h2 class="footer-heading">seL4 docs</h2>

  <div class="footer-col-wrapper">

    <div class="col-md-2">
      



<ul class="social-media-list">
  <li><a href="https://github.com/sel4"><i class="fab fa-github"></i> <span class="username">sel4</span></a></li><li><a href="https://github.com/sel4proj"><i class="fab fa-github"></i> <span class="username">sel4proj</span></a></li>
</ul>

    </div>

    <div class="col-md-8">
      <ul class="list-unstyled">
        <li>
          This site is for displaying seL4 related documentation.  Pull requests are welcome.
        </li>
        
          <li>
            Site last updated: Fri Feb 7 10:17:38 2025 +1100 ee78c8857c
          </li>
          <li>
                Page last updated: Thu Nov 11 11:50:06 2021 +1100 5fc78c1c47
          </li>
        
      </ul>
    </div>
    <div class="col-md-2">
<a href="https://github.com/seL4/docs/blob/master/processes/contributing.md">View page on GitHub</a>
      <br />
      <a href="https://github.com/seL4/docs/edit/master/processes/contributing.md">Edit page on GitHub</a>
      <br />
      <a href="/sitemap">Sitemap</a>
    </div>

  </div>

</footer>

  </body>
</html>
